from pyecharts.charts import Line
import pyecharts.options as opts
from pyecharts.faker import Faker
import numpy as np

data1 = []
data2 = []
name = []
def test():
    global data1
    global data2
    global name
    import pandas as pd
    from sqlalchemy import create_engine
    engine = create_engine('mysql+pymysql://root:123456@localhost:3306/pythondata')
    # 查询语句，选出employee表中的所有数据
    sql = ''' select  price from test  ;'''
    # read_sql_query的两个参数: sql语句， 数据库连接
    city = pd.read_sql_query(sql, engine)
    data1 = np.array(city)  # 先将数据框转换为数组
    data1 = data1.tolist()  # 其次转换为列表
    sql = ''' select  yprice from test  ;'''
    # read_sql_query的两个参数: sql语句， 数据库连接
    city = pd.read_sql_query(sql, engine)
    data2 = np.array(city)  # 先将数据框转换为数组
    data2 = data2.tolist()  # 其次转换为列表

    sql = ''' select  name from test  ;'''
    # read_sql_query的两个参数: sql语句， 数据库连接
    city = pd.read_sql_query(sql, engine)
    name = np.array(city)  # 先将数据框转换为数组
    name = name.tolist()  # 其次转换为列表

test()
line1=(
    Line() # 生成line类型图表
    .add_xaxis(name)  # 添加x轴，Faker.choose()是使用faker的随机数据生成x轴标签
    .add_yaxis('数据1',data1)  # 添加y轴，Faker.values()是使用faker的随机数据生成y轴数值
    .add_yaxis('数据2',data2)
    .set_global_opts(title_opts=opts.TitleOpts(title='Line 基本示例'))
)
line1.render('repyecharts-line2.html') # 生成一个名为pyecharts-line.html的网页文件，打开网页就是下图
# print(data1)
# print(data2)
# print(name)